﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace May_21_2021
{
    class Program
    {
        private static string execute;

        static void Main(string[] args)
        {
            tastNPC tnpc = new tastNPC("大白兔",NPCType.Task,"去野外摘俩根萝卜");
            tnpc.Speak();

            shopNPC snpc = new shopNPC("灰太狼", NPCType.Shop, "喜洋洋");
            snpc.Speak();

            ironNPC inpc = new ironNPC("葵", NPCType.Iron, "屠龙");
            inpc.Speak();


            //编写一个程序，以实现机器人的层次结构，此层次结构将至少包含抽象类机器人类Robot
            //、炒菜机器人类CookRobot、传菜机器人类DeliveryRobot。
            //Robot类应包含机器人姓名name字段、机器人工作的方法Working()，
            //该方法应该在子类中被实现，机器人工作的方式很多，所以Working()方法应该被定义为抽象方法。

            //可以在CookRobot中添加一个代表菜的类型的字段，用枚举类型；
            //在DeliveryRobot中添加一个代表连续工作时长的字段hours。
            //CookRobot和DeliveryRobot应实现具体的Working()方法。

            //在主类中定义一个方法，形参数据类型是string，返回值数据类型是Robot，方法中实现如果
            //传入的字符串是“炒菜”，那就返回CookRobot的实例（当然是要用Robot的引用指向的），
            //如果传入的字符串是“传菜”，那就返回DeliveryRobot的实例。

            //Main方法中：用户输入所选择的机器人的功能，根据用户的输入Robot执行对应的功能。


            //CookRobot cr = new CookRobot("001",RobotType.CookRobot,FoodType.小鸡炖蘑菇);
            //cr.Working();

            //DeliveryRobot dr = new DeliveryRobot("002",RobotType.DeliveryRobot,8);
            //dr.Working();

            
            Choose(execute);
        }
        public static void Choose(string execute)
        {
            Console.WriteLine("输入炒菜 或者 传菜");
            execute = Console.ReadLine();
            if (execute.Equals("炒菜") )
            {
                CookRobot cr = new CookRobot("001", RobotType.CookRobot, FoodType.小鸡炖蘑菇);
                cr.Working();
            }
            else if (execute.Equals("传菜"))
            {
                DeliveryRobot dr = new DeliveryRobot("002", RobotType.DeliveryRobot, 8);
                dr.Working();
            }
            else
            {
                Console.WriteLine("没有这个功能");
            }
        }
    }
}
